home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Documentation / 3.0 Release Notes next >
Encoding:
Text File  |  1998-03-20  |  4.7 KB  |  107 lines  |  [TEXT/MPS ]

  1. ==============================================
  2. Universal Interfaces & Libraries Release Notes 
  3. ==============================================
  4.  
  5. Version: Universal Interfaces 3.0
  6. Date:    June 19, 1997
  7. Author:  Nick Kledzik
  8.  
  9.  
  10. ========================================
  11. New Features in Universal Interfaces 3.0
  12. ========================================
  13.  
  14. -    ConditionalMacros.h has been completely redesigned.  It now has 
  15.     a separate block to set up conditionals for each recognized compiler. 
  16.     The following compilers are supported: MrC[pp], SC[pp], Metrowerks
  17.     (for PowerPC, 68K, and Intel),  Symantec C++, Think C, PPCC, MPW C,
  18.     GNU C for MPW, xlc on RS/6000, Visual C++, MIPSpro, SPARCompiler, 
  19.     MPW Pascal and Metrowerks Pascal, MPW Asm, and MPW PPCAsm. 
  20.     If your compiler is not recognized, you can create your own
  21.     block to set up conditionals.  If you do so, please send in your 
  22.     changes to devsupport@apple.com so that it can get integrated 
  23.     into the next release of ConditionalMacros.h.
  24.     
  25. -    Function prototypes and function pointer typedefs have been redesigned
  26.     to use the EXTERN_API() and CALLBACK_API() macros.  This factors
  27.     out platform specific declarations attributes (e.g. "pascal" or 
  28.     "__declspec(dllimport)").  
  29.  
  30. -    UInt64 and SInt64 have been changed to be implemented as long long 
  31.     on compilers that support that data type. If you use the functions/macros 
  32.     in Math64.h, your source code will compile regardless of whether the 
  33.     compiler supports long long.  The types wide and UnsignedWide will remain
  34.     as structs.  If your source code assumes wide and SInt64 are the same 
  35.     thing, you should change to use the macros in Math64.h for conversion.  
  36.  
  37. -    The conditional SystemSevenOrLater has been removed.  Previously, this 
  38.     was used to control whether Gestalt(), HOpenResFile(), and FindFolder() 
  39.     were called as an A-Trap or via glue code in Interface.o which first 
  40.     checked that the trap was implemented.  Since these functions were all 
  41.     implemented in System 7, using the glue code only mattered if the generated
  42.     code was run on a System 6 or earlier Macintosh.  In fact, it slowed down
  43.     code running on System 7 or later machines.  
  44.     
  45.     If you are creating classic 68K code to run on a pre-system 7 machines or 
  46.     which runs before INIT time in the boot process, you will need to add a
  47.     define to your build before #including the Universal Interfaces.  For 
  48.     example, with Gestalt() you need to #define USE_GESTALT_GLUE.  
  49.     See the interface files for more details.  
  50.  
  51. -    The AppleGuideLib stub library now supports CFM 68K.
  52.  
  53. -    The DragLib stub library now supports the routines for translucent dragging.
  54.  
  55.  
  56.  
  57. =================================================
  58. Bug Fixes and Changes in Universal Interfaces 3.0
  59. =================================================
  60.  
  61. -    The types double_t and float_t have been moved from Types.h to fp.h.  
  62.     If you use these types, you should #include fp.h to insure your source code 
  63.     compiles under both 2.x and 3.0 Interfaces.
  64.  
  65. -    Windows and Memory (for .h, .p, .a, and .r) have been renamed to MacWindow 
  66.     and MacMemory. This was done to make the files interoperable with the headers
  67.     from other platforms.  We will continue to ship a Windows.h and Memory.h 
  68.     (which simply #include the new name) to support existing Mac OS source code, 
  69.     but cross-platform developers may wish to remove those files.
  70.  
  71. -    The fixed font ID constants have been renamed to avoid conflicts with C++ STL.
  72.     (e.g. "times" is now "kFontIDTimes").  Relying on fixed font ID's has always 
  73.     been slightly risky.  It is better to use GetFNum() to look up a font ID by name.
  74.  
  75. -    All sound related interfaces have moved to Sound.h.  The only change that is 
  76.     not backward compatible is that SysBeep() was previously in OSUtils.h, but 
  77.     OSUtils.h cannot auto-include Sound.h because that would cause a circular 
  78.     include.  You will need to add a #include <Sound.h> where ever SysBeep() is 
  79.     used in order for your sources to work with both 2.x and 3.0 Interfaces.
  80.  
  81. -    In OSUtils.h, Delay() has been changed to use unsigned longs instead of longs.  
  82.     This change will be transparent to C, but C++ compilers will complain.  You 
  83.     should change your source code to use unsigned longs to Delay(). 
  84.  
  85. -    GXPrinting is no longer supported as of Mac OS 8.  Therefore all GX printing 
  86.     routines have been removed from QuickDrawGXLib and moved into a new separate 
  87.     stub library GXPrintingLib.
  88.  
  89.  
  90. ==========================
  91. Known Bugs and Limitations
  92. ==========================
  93.  
  94. -    Not all compilers are supported by ConditionalMacros.h, in particular
  95.     the variations on GNU C.
  96.  
  97. -    Although the framework is in place, the 3.0 Universal Interfaces do
  98.     not yet work on other platforms (e.g. unix or Win32).  
  99.     
  100.  
  101. -------------------------------------------------------------------------
  102. Nick Kledzik
  103. Universal Interfaces 
  104. Apple Computer, Inc.
  105.  
  106.  
  107.